import { DisabledProps, PermissionProps, VisibleProps } from "@/components/Permission"

export interface BaseInputProps extends PermissionProps, DisabledProps, VisibleProps {}

/**
 * 文本输入框类型
 */
export interface GetanInputProps extends BaseInputProps {
    /**
     * 类型
     */
    type: "text" | "password" | "textarea"
    /**
     * 是否可清除，默认为 true
     */
    clearable: boolean
    /**
     * 是否显示字数
     */
    showCount: boolean
    /**
     * 自动调整尺寸
     */
    autosize: boolean | { minRows?: number; maxRows?: number }
    /**
     * 加载状态
     */
    loading: boolean
    /**
     * 是否只读
     */
    readonly: boolean
    /**
     * 最大长度
     */
    maxlength: number
    /**
     * 最小长度
     */
    minlength: number
    /**
     * 大小
     */
    size: "tiny" | "small" | "medium" | "large"
    /**
     * 文本输入的占位符
     */
    placeholder: string | string[]
    /**
     * 是否输入成对的值
     */
    pair: boolean
    /**
     * 状态
     */
    status: "success" | "warning" | "error"
    /**
     * 校验方法，如果返回 false，输入框不会影响此次输入
     */
    validation: (value: string) => boolean
}
